// v1.2.3
//是否使用IDE自带的node环境和插件，设置false后，则使用自己环境(使用命令行方式执行)
const useIDENode = process.argv[0].indexOf("LayaAir") > -1 ? true : false;
const useCMDNode = process.argv[1].indexOf("layaair2-cmd") > -1 ? true : false;

function useOtherNode() {
	return useIDENode || useCMDNode;
}
//获取Node插件和工作路径
let ideModuleDir = useOtherNode() ? process.argv[1].replace("gulp\\bin\\gulp.js", "").replace("gulp/bin/gulp.js", "") : "";
let workSpaceDir = useOtherNode() ? process.argv[2].replace("--gulpfile=", "").replace("\\.laya\\compile.js", "").replace("/.laya/compile.js", "") : "./../";

const gulp = require(ideModuleDir + "gulp");
const rollup = require(ideModuleDir + "rollup");
const typescript = require(ideModuleDir + 'rollup-plugin-typescript2');//typescript2 plugin
const glsl = require(ideModuleDir + 'rollup-plugin-glsl');

// 如果是发布时调用编译功能，增加prevTasks
let prevTasks = "";
if (global.publish) {
	prevTasks = ["loadConfig"];
}

gulp.task("compile", prevTasks, function () {
	throw new Error("禁止对YOULING-SDK直接进行编译");
	// // 发布时调用编译功能，判断是否点击了编译选项
	// if (global.publish && !global.config.compile) {
	// 	return;
	// } else if (global.publish && global.config.compile) {
	// 	// 发布时调用编译，workSpaceDir使用publish.js里的变量
	// 	workSpaceDir = global.workSpaceDir;
	// }

	// return rollup.rollup({
	// 	input: workSpaceDir + '/src/Main.ts',
	// 	onwarn: (waring, warn) => {
	// 		// if(waring.code == "CIRCULAR_DEPENDENCY"){
	// 		// 	console.log("warnning Circular dependency:");
	// 		// 	console.log(waring);
	// 		// }
	// 	},
	// 	treeshake: false, //建议忽略
	// 	plugins: [
	// 		typescript({
	// 			clear: true,
	// 			tsconfig: workSpaceDir + "/tsconfig.json",
	// 			check: true, //Set to false to avoid doing any diagnostic checks on the code
	// 			tsconfigOverride: { compilerOptions: { removeComments: true } },
	// 			include: /.*.ts/,
	// 		}),
	// 		glsl({
	// 			// By default, everything gets included
	// 			include: /.*(.glsl|.vs|.fs)$/,
	// 			sourceMap: false,
	// 			compress: false
	// 		}),
	// 		/*terser({
	// 			output: {
	// 			},
	// 			numWorkers:1,//Amount of workers to spawn. Defaults to the number of CPUs minus 1
	// 			sourcemap: false
	// 		})*/
	// 	]
	// }).then(bundle => {
	// 	return bundle.write({
	// 		file: workSpaceDir + '/bin/js/bundle.js',
	// 		format: 'iife',
	// 		name: 'laya',
	// 		sourcemap: true
	// 	});
	// }).catch(err => {
	// 	console.log(err);

	// })
});